home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2000 February
/
PCWorld_2000-02_cd.bin
/
Software
/
Servis
/
FFE
/
SOUND.SWG
/
0048_RAD v1.0.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1997-05-11
|
11KB
|
146 lines
TECHNICAL SPECIFICATIONS :
▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀ ∙
RAD V1.0+ file format is as follows: (values in hex)
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ HEADER █
█────────────────────────────────────────────────────────────────────────█
█ Offset 00..0F:"RAD by REALiTY!!" - Use this to recognize a RAD tune. █
█ Just detecting the initial "RAD" █
█ should be sufficient though! ;-) █
█ █
█ Offset 10:BCD - Version of RAD file (not RAD ver.) █
█ Currently 10h for v1.0. █
█ █
█ Offset 11:Bit 7 - Set if a description follows. █
█ Bit 6 - Set if it's a "slow-timer" tune. █
█ Bits 4..0 - The initial speed of the tune. █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ DESCRIPTION █
█────────────────────────────────────────────────────────────────────────█
█ The description follows the header if Bit 7 of Offset 11h is set. The █
█ description is a null-terminated string. To save some space in the █
█ tune file, the characters mean: █
█ █
█ Char 00 - End of description (null-terminator) █
█ Char 01 - Move to start of next line (Carriage return) █
█ Char 02..1F - Output this many spaces █
█ Char 20..FF - Output this character █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ INSTRUMENTS █
█────────────────────────────────────────────────────────────────────────█
█ Next come the instruments: █
█ █
█ Offset 00:No. of Adlib instrument that follows (or 0 for no more) █
█ Offset 01..0B:The instrument definition in HSC .INS format: █
█ █
█ ╔══════╦═══════════════════╦═══════════════════════╗ █
█ ║ ║ ║ Adlib Register ║ █
█ ║ Byte ║ Carrier/Modulator ║ (Relative to Chan. 0) ║ █
█ ╠══════╩═══════════════════╩═══════════════════════╣ █
█ ║ 00 │ Carrier │ 23h ║ █
█ ║ 01 │ Modulator │ 20h ║ █
█ ║ 02 │ Carrier │ 43h - Instr. Volume ║ █
█ ║ 03 │ Modulator │ 40h ║ █
█ ║ 04 │ Carrier │ 63h ║ █
█ ║ 05 │ Modulator │ 60h ║ █
█ ║ 06 │ Carrier │ 83h ║ █
█ ║ 07 │ Modulator │ 80h ║ █
█ ║ 08 │ Both │ C0h ║ █
█ ║ 09 │ Carrier │ E3h ║ █
█ ║ 0A │ Modulator │ E0h ║ █
█ ╚══════════════════════════════════════════════════╝ █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ ORDER LIST █
█────────────────────────────────────────────────────────────────────────█
█ The Order List follows the instruments: █
█ █
█ Offset 00:Length of Order List (up to 128) █
█ █
█ Offset 01..nn:List of orders, one byte for each line: █
█ █
█ 00..1F:The pattern to play. █
█ 80..FF:The line to jump to minus 80h (Jump Marker) █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ PATTERN OFFSET TABLE █
█────────────────────────────────────────────────────────────────────────█
█ For all 32 patterns there is a word in this table which gives the █
█ offset from the start of the file of the pattern data. █
█ If a pattern is empty then the offset is zero. █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ PATTERNS █
█────────────────────────────────────────────────────────────────────────█
█ Offset 00:Line number whose notes follow. Bit 7 set means that █
█ this is the last line. Note, lines that have no notes █
█ or effects on do not appear. █
█ █
█ Offset 01....:List of notes for that line: █
█ █
█ Offset 00:Channel no. note appears in (0 to 8). █
█ Bit 7 set means this is the last note for █
█ this line. █
█ Offset 01..02:The note/effect for this channel. █
█ If the effect nibble is non-zero then █
█ Offset 03 contains the parameter, otherwise █
█ the next channel starts at Offset 03. █
█ █
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ NOTES █
█────────────────────────────────────────────────────────────────────────█
█ Notes occupy three bytes (two if the effect nibble is zero): █
█ █
█ Byte 00:Bit 7: Bit 4 of the instrument number. █
█ Bit 6..4: Octave of note. █
█ Bit 3..0: Note (1-12) in this order: █
█ C#, D, D#, E, F, F#, G, G#, A, A#, B, C █
█ A zero denotes no note and 15 denotes a █
█ KEY-OFF. █
█ █
█ Byte 01:Bit 7..4: Bits 3 to 0 of the instrument number. █
█ Bit 3..0: The effect nibble (the effect column █
█ in RAD is the hex equivalent of this █
█ nibble). █
█ █
█ Byte 02:The parameter to the effect (if any). █
█ Because parameters only go from 0 to 99, bit 7 is █
█ not used, but may be used in a later version of RAD. █
█ █
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
╔═══─═══─══─═──═── ─── ─- ─ - · · ∙ ─ ── ─── ─═─═╗
║ │
║ Last Words ║
║ ~~~~~~~~~~ ║
║ │
║ Well we hope you get a lot of use out of RAD. Although RAD started ║
║ as a simple project by me (Shayde) it soon turned into something a lot │
│ more complex and RAD would not be wot it is without the considerable |
║ input from all members of Reality. The graphics and a lot of design :
║ ideas were put forward by Rogue (grafix artist) and Void (musician). ∙
│ Because WE knew want we wanted out of a music development package, RAD ·
║ has evolved into something we are very happy to use for developing our
│ productions. We hope you dudez also discover how to be RADical...!
│
| ·
: RAD woz Kiwi-coded in 100% assembler by SHAYDE .
∙ :
· RAD's graphics were Oz-drawn in 100% ANSI by ROGUE and VOID. │
|
Documentation by SHAYDE, Doc-Ansi by ROGUE. │
│
If you'd like to send us any of your quality tunes made with RAD, ║
please do so, and we'll include them in the next release pack! │
(Our contact address can be found within RAD) ║
║
L8'er dudes! │
║
║
║
· ∙ ─ ─- ── ─────┤ REALITY PRODUCTIONS - April 1995 ├─ ─ ── ───═─══─═══─══╝